home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / C / Applications / Portable Patmos / usr / include / rpcsvc / spray.x < prev    next >
Encoding:
Text File  |  1994-11-08  |  2.6 KB  |  104 lines  |  [TEXT/R*ch]

  1. /*
  2.  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
  3.  * unrestricted use provided that this legend is included on all tape
  4.  * media and as a part of the software program in whole or part.  Users
  5.  * may copy or modify Sun RPC without charge, but are not authorized
  6.  * to license or distribute it to anyone else except as part of a product or
  7.  * program developed by the user.
  8.  * 
  9.  * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
  10.  * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
  11.  * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
  12.  * 
  13.  * Sun RPC is provided with no support and without any obligation on the
  14.  * part of Sun Microsystems, Inc. to assist in its use, correction,
  15.  * modification or enhancement.
  16.  * 
  17.  * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
  18.  * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
  19.  * OR ANY PART THEREOF.
  20.  * 
  21.  * In no event will Sun Microsystems, Inc. be liable for any lost revenue
  22.  * or profits or other special, indirect and consequential damages, even if
  23.  * Sun has been advised of the possibility of such damages.
  24.  * 
  25.  * Sun Microsystems, Inc.
  26.  * 2550 Garcia Avenue
  27.  * Mountain View, California  94043
  28.  */
  29.  
  30. /*
  31.  * Spray a server with packets
  32.  * Useful for testing flakiness of network interfaces
  33.  */
  34.  
  35. #ifndef RPC_HDR
  36. %#ifndef lint
  37. %/*static char sccsid[] = "from: @(#)spray.x 1.2 87/09/18 Copyr 1987 Sun Micro";*/
  38. %/*static char sccsid[] = "from: @(#)spray.x    2.1 88/08/01 4.0 RPCSRC";*/
  39. %static char rcsid[] = "$Id: spray.x,v 1.2 1993/12/03 00:32:30 jtc Exp $";
  40. %#endif /* not lint */
  41. #endif
  42.  
  43. #ifdef RPC_HDR
  44. %#ifndef _RPCSVC_SPRAY_H_
  45. %#define _RPCSVC_SPRAY_H_
  46. %
  47. #endif
  48.  
  49. const SPRAYOVERHEAD = 86;        /* size of rpc packet when size=0 */
  50. const SPRAYMAX = 8845;            /* max amount can spray */
  51.  
  52.  
  53. /*
  54.  * GMT since 0:00, 1 January 1970
  55.  */
  56. struct spraytimeval {
  57.     unsigned int sec;
  58.     unsigned int usec;
  59. };
  60.  
  61. /*
  62.  * spray statistics
  63.  */
  64. struct spraycumul {
  65.     unsigned int counter;
  66.     spraytimeval clock;
  67. };
  68.  
  69. /*
  70.  * spray data
  71.  */
  72. typedef opaque sprayarr<SPRAYMAX>;
  73.  
  74. program SPRAYPROG {
  75.     version SPRAYVERS {
  76.         /*
  77.          * Just throw away the data and increment the counter
  78.          * This call never returns, so the client should always 
  79.          * time it out.
  80.          */
  81.         void
  82.         SPRAYPROC_SPRAY(sprayarr) = 1;
  83.  
  84.         /*
  85.          * Get the value of the counter and elapsed time  since
  86.          * last CLEAR.
  87.          */
  88.         spraycumul    
  89.         SPRAYPROC_GET(void) = 2;
  90.  
  91.         /*
  92.          * Clear the counter and reset the elapsed time
  93.          */
  94.         void
  95.         SPRAYPROC_CLEAR(void) = 3;
  96.     } = 1;
  97. } = 100012;
  98.  
  99.  
  100. #ifdef RPC_HDR
  101. %
  102. %#endif /* _RPCSVC_SPRAY_H_ */
  103. #endif
  104.